package 行为型设计模式.观察者模式.demo;

/**
 * @Author lf
 * @Date 3/17/2024
 */
public class ObserverPatternDemo {
    public static void main(String[] args) {
        // 创建事件源，管理观察者
        EventPublisher publisher = new EventPublisher();

        MessageListener listener1 = new MessageListener("Listener1");
        MessageListener listener2 = new MessageListener("Listener2");

        publisher.addListener(listener1);
        publisher.addListener(listener2);

        // 发布事件，通知观察者
        publisher.publishEvent("Hello, World!");

        // 移除某个观察者
        publisher.removeListener(listener1);

        // 继续发布，发布到所有观察者
        publisher.publishEvent("Hello again!");
    }
}
